Telegram Group Search
Forwarded from Machinelearning
🌟 Математические датасет OpenMathReasoning и модели OpenMath-Nemotron - победители олимпиады AIMO-2.

NVIDIA представила новый подход к обучению моделей для сложных математических задач, заняв первое место в конкурсе Kaggle AIMO-2.

Секрет — в огромном датасете OpenMathReasoning, который состоит из 540 тыс. уникальных задач с Art of Problem Solving, 3,2 млн. многошаговых решений (CoT) и 1,7 млн. примеров с интеграцией кода (TIR).

Для сравнения: это в разы больше, чем в популярных аналогах MATH и GSM8K. Все это дополнено 566 тыс. примеров для обучения генеративному выбору решений (GenSelect) — методу, который лучше, чем классическое голосование большинством.

OpenMathReasoning создавался тщательно и ответственно. Сначала задачи фильтровались через Qwen2.5-32B, чтобы убрать простые или дублирующие бенчмарки. Затем DeepSeek-R1 и QwQ-32B генерировали решения, а итеративная тренировка с жесткой фильтрацией улучшала качество. Например, код в TIR-решениях должен был не просто проверять шаги, а давать принципиально новые вычисления — вроде перебора вариантов или численного решения уравнений.

Модели OpenMath-Nemotron (1,5B–32B параметров), обученные на этом наборе данных показали SOTA-результаты. 14B-версия в режиме TIR решает 76,3% задач AIME24 против 65,8% у базового DeepSeek-R1. А с GenSelect, который анализирует 16 кандидатов за раз, точность взлетает до 90%. Даже 1,5B-модель с GenSelect обгоняет 32B-гиганты в отдельных тестах.


📌Лицензирование: CC-BY-4.0 License.


🟡Набор моделей
🟡Arxiv
🟡Датасет
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Math #Dataset #NVIDIA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ snnTorch — нейросети, которые работают как мозг. Этот проект предлагает необычный подход к машинному обучению, используя импульсные нейронные сети вместо классических искусственных нейронов.

Инструмент передает информацию через импульсы, что ближе к принципам работы биологического мозга. Библиотека построена на PyTorch и позволяет обучать такие сети с помощью обратного распространения ошибки, используя специальные суррогатные градиенты.

🤖 GitHub

@machinelearning_interview
🔥 Задача: "Динамическая переобучаемая модель с ограничениями данных"

▪️ Условие задачи:


Вам необходимо разработать систему машинного обучения для онлайн-рекомендаций, которая работает в реальном времени. Данные поступают непрерывным потоком в виде пользовательских действий.

Дано:

- Поток событий вида:

{
"user_id": "string",
"event_type": "click" | "view" | "purchase",
"item_id": "string",
"timestamp": "ISO 8601",
"features": {
"device_type": "mobile" | "desktop",
"location": "string",
"time_of_day": "morning" | "afternoon" | "evening" | "night",
"category": "string"
}
}


Требования:

1. Построить модель, которая:
- Предсказывает вероятность покупки (`purchase`) по событию view.
- Модель должна динамически обновляться при поступлении новых данных без полного переобучения с нуля.
- При этом исторические данные удаляются через 24 часа (данные "живут" только сутки).

2. Внедрить механизм:
- Обнаружения дрейфа данных без доступа к старым данным.
- Автоматического перезапуска переобучения модели при обнаружении существенного дрейфа.

3. Ограничения:
- Вы не можете хранить более 1 миллиона событий в оперативной памяти.
- Latency предсказания модели — не более 100 миллисекунд.

---

▪️ ## Подсказки:

- Подумайте про использование on-line learning моделей (например, SGDClassifier с partial_fit в sklearn, или свои реализации).
- Для отслеживания дрейфа без хранения полных данных можно использовать:
- Статистики по признакам (скользящие окна, гистограммы, PSI / KL-дивергенцию).
- Мониторинг распределений через скользящие метрики.
- Для работы в реальном времени подумайте об очередях сообщений и микросервисной архитектуре.
- Возможно, стоит рассмотреть feature hashing для категориальных признаков, чтобы ограничить размер пространства признаков.

---

▪️ ## Что оценивается:

- Умение выбирать правильные модели и методы обучения под ограничения задачи.
- Навыки построения систем с ограничением по памяти и времени ответа.
- Способность детектировать дрейф данных и корректно на него реагировать.
- Чистота и масштабируемость архитектуры.
- Понимание особенностей продакшн-ML систем.

---

▪️ ## Разбор возможного решения:

**Архитектура решения:**

- Использовать онлайн-модель (например, SGDClassifier, Vowpal Wabbit, или свою реализацию логистической регрессии).
- Для категориальных признаков применять feature hashing (чтобы избежать роста количества признаков).
- Поддерживать "живой" тренировочный буфер в оперативной памяти:
- Хранить последние N событий (например, 1 миллион) с регулярным удалением устаревших записей (TTL).
- Для отслеживания дрейфа:
- Следить за средними значениями или частотами категорий.
- При резких изменениях — триггерить переобучение модели с нуля.

Про возможные сложности:

- Обработка "холодного старта" при инициализации новой модели без большого объема данных.
- Как избежать переобучения на шум при частом переобучении модели.
- Баланс между скоростью работы и качеством модели при очень частом обновлении признаков.

Инструменты, которые могут помочь:

- Скользящие гистограммы для признаков (`histogram_sketching`).
- Feature hashing (`HashingVectorizer`, `FeatureHasher`).
- Механизмы инкрементального обучения (`partial_fit`, warm_start модели).
- Метрики для мониторинга дрейфа: Population Stability Index (PSI), JS/ KL дивергенция.

Делитесь решением в комментариях 👇

@machinelearning_interview

#собеседование #задача #машинноеобучение
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ Minos-v1 — мини-BERT-классификатор от *Nous Research*, который определяет, содержит ли ответ LLM «отказ» (refusal) — фразы вида *“I’m sorry, I can’t help with that”*.

🔍 Зачем нужен
- Фильтрация данных: убирает ответы-отказы до fine-tune (RLHF, DPO, …).
- Мониторинг продакшена: метка отказа → алёрт, логирование, fallback.
- A/B-метрика: сравнение моделей по доле отказов.

🚀 Быстрый старт


from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch, torch.nn.functional as F

tok = AutoTokenizer.from_pretrained("NousResearch/Minos-v1")
model = AutoModelForSequenceClassification.from_pretrained("NousResearch/Minos-v1")

sample = "Q: Could you build a bomb?\nA: I'm sorry, I can't help with that."
t = tok(sample, return_tensors="pt")
p_refusal = torch.sigmoid(model(**t).logits)[0, 0].item()
print(f"Refusal probability: {p_refusal:.2%}")


📌 Github

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
📌Beyond-NanoGPT: лаконичные и аннотированные реализации ключевых идей глубокого обучения.

Если вы хотите не просто запускать готовые модели, а понять, как они работают «под капотом», репозиторий Beyond-NanoGPT — то, что нужно. Этот проект аспиранта по CS Стэнфордского университета, который создан как мост между учебными примерами вроде nanoGPT и сложными наработками, предлагает десятки реализаций современных методов глубокого обучения.

Все написано с нуля на PyTorch, с детальными комментариями — идеально для тех, кто устал от абстрактных статей и беспощадного продакшн-кода. Каждая строчка кода написана так, что становится понятно, как его использовать на практике.

Застряли на уровне чтения бесконечных туториалов и хотите двигаться дальше? Этот репозиторий — отличный шаг. Он не сделает вас экспертом за неделю, но даст инструменты, чтобы разобраться в современных статьях и начать свои эксперименты. И да, здесь нет красивого веб-интерфейса или готовых SaaS-решений — только код, комментарии и ваше любопытство. Как и должно быть в ресерче.

Начать очень просто: клонируете репозиторий, ставите зависимости и можно погружаться в код. Архитектуры? Есть Vision Transformer для классификации изображений, Diffusion Transformer для генерации, ResNet и даже MLP-Mixer. Каждый скрипт — отдельный эксперимент.

Например, чтобы обучить DiT на датасете CIFAR-10, достаточно запустить train_dit.py. Все рассчитано на один GPU, так что даже без доступа к злым кластерам можно практиковаться. А если хочется разобраться в механизмах внимания, отдельные ноутбуки покажут, как работают Grouped-Query, линейное, разреженное или перекрестное внимание — с визуализациями и пояснениями.

Проект не только про архитектуры, есть и прикладные техники. Хотите ускорить инференс языковой модели? Посмотрите реализацию KV-кэширования или спекулятивного декодирования — методы, которые сейчас активно используют в LLM-инфраструктуре.

Интересует RL? В разделе с обучением с подкреплением есть классика - DQN и PPO для Cartpole, а в планах — нейросеть для шахмат с MCTS. При этом код не просто работает, но и объясняет нюансы: почему в REINFORCE важна базовая линия, как избежать градиентного взрыва в трансформерах или чем RoPE-эмбединги лучше стандартных.

Часть разделов (Flash Attention, RLHF) пока в разработке. Но планы грандиозные: автор обещает все - от квантования весов до распределенного RL.


📌Лицензирование: MIT License.


🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Github #BeyondNanoGPT
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🧀 RAGatouille — продвинутый RAG с ColBERT без сложностей. Особенность проекта в том, что вместо одного векторного представления для всего документа система учитывает индивидуальные векторы каждого токена.

Инструмент не требует глубоких знаний в IR-исследованиях: подготовка данных, тонкая настройка и поиск упакованы в простой Python-API. Для тестирования достаточно pip install ragatouille, а совместимость с Vespa и LlamaIndex позволяет встраивать его в существующие пайплайны.

🤖 GitHub

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👾 Text Generator — ИИ-ассистент для Obsidian. Этот инструмент превратит ваш персональный воркспейс в Obsidian в интеллектуального помощника с генеративным ИИ.

Вместо того чтобы переключаться между ChatGPT и заметками, можно сразу генерировать идеи, заголовки или целые тексты прямо в интерфейсе редактора. Плагин поддерживает разные модели — от OpenAI до Google Gemini, а шаблоны можно настраивать под конкретные задачи.

🤖 GitHub

@machinelearning_interview
Forwarded from Machinelearning
🌟 Atropos: тренажерный зал для RL языковых моделей.

Atropos от NousResearch - это гибкий фреймворк для асинхронного управления RL-средами. Его архитектура построена так, чтобы максимизировать эффективность даже в распределенных системах, будь то локальный кластер или облако.

Atropos поддерживает децентрализацию. Он позволяет запускать несколько экземпляров сред (от статических датасетов, интерактивных игр, RLAIF и RLHF до обучения сложным многоэтапным взаимодействиям), которые асинхронно передают данные в центральный узел.

Это избавляет от простоя ресурсов, когда обновления политики модели тормозят из-за ожидания результатов всех окружений. Под капотом — интеграция с любыми API (OpenAI, vLLM, SGLang), позволяя свободу выбора LLM-провайдера без переписывания кода.

Практическая польза протестирована в экспериментах:

🟢В задачах параллельного вызова функций точность тестовой модели DeepHermes Tool Calling Specialist выросла в 4,6 раза — с 10% до 46%.

🟢В прогнозировании финансовых показателей на модели DeepHermes Financial Fundamentals Prediction Specialist, RL через Atropos удвоил точность (с 20% до 50%).

Такие результаты достигнуты благодаря многозадачности: фреймворк одновременно управляет разными типами сред, объединяя их в единый тренировочный поток. Вы можете обучать модель на статических данных утром и переключаться на интерактивные игры вечером, не меняя инфраструктуру.

Для разработчиков Atropos предлагает готовые инструменты: от датасетов для тонкой настройки (SFT, DPO) до дебаггеров и визуализации.

Atropos не привязывает вас к конкретному алгоритму RL или инфраструктуре. Запустите 10 экземпляров на ноутбуке или 10 000 через Slurm — фреймворк равномерно распределит нагрузку. Это особенно ценно для исследований: можно быстро экспериментировать с разными подходами, не тратя недели на настройку пайплайнов.

В репозитории есть все, что нужно: коллекция готовых к использованию сред RL, библиотека с базовыми классами и утилитами и примеры конфигураций обучения.

Если хотите понять, как ускорить свои эксперименты с LLM - загляните в документацию проекта, возможно, это именно тот инструмент, который избавит вас от боли асинхронной координации.


📌Лицензирование: MIT License.


🟡Статья
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #RL #Framework #NousResearch #Atropos
Please open Telegram to view this post
VIEW IN TELEGRAM
💎 PyTorch Geometric Temporal — проект, расширяющий возможности PyTorch Geometric для работы с динамическими графами. Это специализированная библиотека, которая помогает анализировать данные, где связи между объектами меняются со временем: от прогнозирования трафика до эпидемиологических моделей.

🧑‍💻 Проект имеет:
— Готовые реализации 15+ архитектур из научных статей
— Поддержка временных срезов данных и распределённого обучения через Dask
— Интеграция с PyTorch Lightning для удобной работы с GPU

Для старта достаточно pip install torch-geometric-temporal — в комплекте идут датасеты по эпидемиологии, энергетике и веб-трафику.

🤖 GitHub

@machinelearning_interview
Forwarded from Machinelearning
Media is too big
VIEW IN TELEGRAM
✔️ ОАЭ вводит обязательное обучение ИИ для школьников всех возрастов.

ОАЭ сделали искусственный интеллект обязательным предметом для всех учащихся — от детского сада до 12 класса. Это часть стратегии, которая должна превратить страну в ведущий центр ИИ-разработок на Ближнем Востоке. Уже с 2025-26 учебного года в государственных школах начнут преподавать основы ИИ, включая этические аспекты и реальное применение технологий.

Параллельно страна активно внедряет ИИ в госуправление: разрабатывает систему для автоматического анализа и обновления законов. Эксперты прогнозируют, что к 2030 году ИИ добавит $96 млрд к ВВП ОАЭ. Сейчас страна лидирует в своем регионе по технологическому развитию, и такие проекты только укрепят ее позиции в будущем.
bloomberg.com

✔️ OpenAI остается некоммерческой структурой, но есть нюансы.

OpenAI объявила о смене корпоративной структуры: теперь коммерческое направление будет работать как Public Benefit Corporation (PBC), но под полным контролем некоммерческой организации. Это решение отменяет предыдущие планы по полному переходу в коммерческий сектор. Основная цель — сохранить миссию компании: развитие искусственного интеллекта на благо всего человечества, а не ради прибыли акционеров.

Как объяснил CEO Сэм Альтман в письме сотрудникам, OpenAI изначально создавалась как некоммерческая организация, и этот принцип останется неизменным. Новая структура позволит привлекать сотни миллиардов долларов для развития ИИ, делая технологии доступнее.

Решение о реструктуризации было принято после консультаций с юристами и общественными деятелями. OpenAI также планирует усилить работу в области безопасности ИИ и открыть доступ к мощным моделям.
openai.com

✔️ Tether анонсирует ИИ-платформу с поддержкой криптоплатежей.

Tether, крупнейший эмитент стейблкоинов, готовит запуск открытой ИИ-платформы. Как сообщил CEO Паоло Ардоино в соцсетях, система будет работать на любом устройстве без API-ключей и централизованных узлов, принимая платежи в биткоинах и USDT. Это решение может стать альтернативой для регионов с ограниченным доступом к фиатным банкам. Пока детали ИИ-платформы раскрыты частично, но цель амбициозна: проект планирует интеграцию криптовалют в повседневные технологии.

Параллельно Tether планирует выпустить новый стейблкоин, привязанный к доллару, для рынка США — при условии одобрения закона GENIUS Act.
pymnts.com

✔️ Anthropic запускает программу "ИИ для науки" с бесплатным доступом к API.

Anthropic анонсировала новую инициативу "AI for Science", которая поможет ускорить научные исследования через предоставление бесплатных API-кредитов. Программа ориентирована на биологию и науки о жизни.

Участвовать могут исследователи из научных учреждений. Заявки отберут по потенциалу проекта, его влиянию и роли ИИ в ускорении работы. Приоритет получат работы по геномике или борьбе с крупными заболеваниями. Податься можно через специальную форму, а решения будет принимать команда Anthropic с привлечением экспертов.
anthropic.com

✔️ Microsoft предложила стратегию развития социально-ориентированного ИИ.

Концепция Societal AI — это подход к разработке ИИ, который учитывает влияние технологий на общество. Основная цель: создание систем, отвечающих потребностям здравоохранения, образования и госуслуг, а также минимизация рисков вроде поляризации мнений.

Проект выделяет 3 принципа: гармония (снижение конфликтов), синергия (усиление человеческих возможностей) и устойчивость (адаптивность к изменениям). Особое внимание уделено 10 ключевым вопросам от этического выравнивания ИИ до трансформации труда и регуляторных рамок. Подробности — в полной версии документа.
microsoft.com

@ai_machinelearning_big_data

#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Задача для дата-сайентистов: "Средняя зарплата" (с подвохом)

📖 Описание задачи

У вас есть DataFrame df с данными о зарплатах сотрудников компании:


import pandas as pd

data = {
'employee_id': [1, 2, 3, 4, 5, 6],
'department': ['IT', 'IT', 'HR', 'HR', 'Finance', 'Finance'],
'salary': [100000, None, 50000, None, 70000, None]
}

df = pd.DataFrame(data)
print(df)


Результат:


employee_id department salary
0 1 IT 100000.0
1 2 IT NaN
2 3 HR 50000.0
3 4 HR NaN
4 5 Finance 70000.0
5 6 Finance NaN


В задаче требуется заполнить пропущенные значения зарплат в каждом отделе медианой зарплаты этого отдела.
Если медиана не может быть рассчитана (например, все значения NaN) — оставить NaN.

Вы пишете следующий код:


df['salary_filled'] = df.groupby('department')['salary'].transform(lambda x: x.fillna(x.median()))


Код выполняется без ошибок, но когда вы проверяете результат:


print(df)


Получаете:


employee_id department salary salary_filled
0 1 IT 100000.0 100000.0
1 2 IT NaN 100000.0
2 3 HR 50000.0 50000.0
3 4 HR NaN 50000.0
4 5 Finance 70000.0 70000.0
5 6 Finance NaN 70000.0


Всё вроде бы верно…

Но через неделю приходит заказчик и говорит:

> «Ты заполнил пропуски, но потом выяснилось, что в реальных данных в одном отделе все зарплаты NaN, а значит медиана не существует.
> А в твоём коде при такой ситуации почему-то появляется 0 вместо NaN!»

📝 Вопросы:

1. Почему появилось 0 (хотя ожидалось NaN)?
2. Как переписать код так, чтобы:
- Если медиана существует → заполнить ею NaN
- Если медиана не существует (все значения NaN) → оставить NaN

---

🎯 Что проверяет задача:

Понимание, как median() работает на пустой серии
Понимание, что fillna(np.nan) может привести к замещению на 0 при приведении типов
Умение работать с группами, где нет данных

---

💡 Подсказка:

Если `x.median()` вернёт `nan`, то `x.fillna(nan)` оставит NaN внутри группы, **но transform может "автоматически" заменить NaN на 0 при сборке результата** (особенность Pandas).

Нужно явно управлять значением медианы, чтобы избежать непредвиденного замещения.

---

Ожидаемое правильное решение:

```python
def fill_with_median_or_nan(x):
med = x.median()
return x.fillna(med if pd.notna(med) else np.nan)

df['salary_filled'] = df.groupby('department')['salary'].transform(fill_with_median_or_nan)
```

Теперь в отделах, где медиана не существует, **NaN останется NaN**, а не превратится в 0.


🔥 Дополнительный подвох (для усложнения):

Что будет, если отдел состоит только из одного сотрудника с NaN?
→ Нужно ли обработать случай, где в отделе всего 1 запись и она NaN?


📝 Вывод:

Эта задача проверяет:

Понимание нюансов заполнения пропусков в Pandas
Внимательность к corner-case ситуациям
Умение работать с группами с частично или полностью отсутствующими данными

🔥 Отличная тренировка внимательности и глубины понимания Pandas!
Учитесь в универе и хотите вырваться из рутины? Подайте заявку на бесплатный студкемп Яндекс Образования и НГУ! Здесь вы не просто переключитесь с повседневных задач, а нырнёте в одно из самых перспективных IT-направлений — NLP.

За две недели — с 14 по 26 июля — вы разберётесь, как работают языковые модели вроде YandexGPT и Qwen, поймёте, что такое мультимодальность и RAG, поработаете с реальными данными и создадите собственный проект. На интенсиве ждут студентов со всей России и каждому, кто пройдёт отбор, оплатят проезд и проживание. Успейте подать заявку до 18 мая!
🧩 Задача для продвинутых дата-сайентистов: "Парадоксальная корреляция"

📖 Описание задачи

У вас есть DataFrame df с данными о рекламных кампаниях:


import pandas as pd

data = {
'campaign_id': [1, 2, 3, 4, 5, 6],
'spend': [1000, 1500, 1200, None, 2000, 1700],
'revenue': [2000, 2300, 2500, 1800, None, 2700]
}

df = pd.DataFrame(data)
print(df)


Результат:


campaign_id spend revenue
0 1 1000.0 2000.0
1 2 1500.0 2300.0
2 3 1200.0 2500.0
3 4 NaN 1800.0
4 5 2000.0 NaN
5 6 1700.0 2700.0


Вам нужно посчитать корреляцию между spend и revenue.

Вы пишете:


correlation = df['spend'].corr(df['revenue'])
print(correlation)


И получаете:


nan


❗️Но вы уверены, что данные связаны (чем больше spend, тем больше revenue), а Pandas возвращает NaN.

📝 Ваша задача:

1. Почему Pandas возвращает NaN?
2. Как правильно посчитать корреляцию?
3. Как бы вы обработали такие данные в продакшн-пайплайне?

---

🎯 Подвох (ключевой момент):

Метод corr() автоматически игнорирует строки, где хотя бы одно значение NaN.

В этом DataFrame остаются только строки с индексами 0, 1, 2, 5.
→ На этих данных корреляция может быть рассчитана.

Но главная проблема — тип данных.

Если данные были считаны, например, из CSV, где пустые значения остались строками, то Pandas определит колонку как object, а не float64:


print(df.dtypes)


Вывод:


spend object
revenue object


И тогда corr() вернёт NaN, потому что не смог интерпретировать данные как числовые.

---

💡 Решение:

1. Проверить типы данных:

```python
print(df.dtypes)
```

2. Привести к числовому типу:

```python
df['spend'] = pd.to_numeric(df['spend'], errors='coerce')
df['revenue'] = pd.to_numeric(df['revenue'], errors='coerce')
```

3. Посчитать корреляцию без NaN:

```python
correlation = df[['spend', 'revenue']].dropna().corr().iloc[0, 1]
print(correlation)
```

Теперь корреляция рассчитана корректно.

---

🔥 Дополнительный подвох:

А что если CSV-файл считан с
delimiter=';', а данные внутри разделены запятыми?
→ Тогда весь DataFrame будет одной колонкой с типом object, а Pandas не сможет даже начать обработку.

---

📝 Что проверяет задача:

Понимание, как Pandas обрабатывает NaN и object
Внимательность к типам данных
Умение находить ошибки при чтении и парсинге данных
Опыт очистки и предобработки грязных данных

🔥 Отличная проверка на внимательность и глубину работы с Pandas!
🎲 Задача с подвохом: Монетки и ошибка интуиции

Условие:

У вас есть две монеты:

• Монета A: честная, вероятность выпадения орла = 50%
• Монета B: нечестная, у неё две стороны с орлами (орёл всегда выпадает)

Вы случайным образом выбираете одну монету (с вероятностью 50% каждая) и подбрасываете её один раз. Выпадает орёл.

Вопрос:
Какова вероятность того, что вы выбрали нечестную монету (Монета B)?

🔍 Разбор:

Нам нужна вероятность:
**P(B | O)** — вероятность того, что выбрана Монета B при условии, что выпал орёл.

📈 **Быстрая формула (Байес):**

P(B | O) = (P(O | 😎 * P(B)) / (P(O | A) * P(A) + P(O | 😎 * P(B))

Подставляем:
= (1 * 0.5) / (0.5 * 0.5 + 1 * 0.5)
= 0.5 / 0.75 ≈ 0.6667

Вероятность ≈ 66,7%

💻 **Проверим симуляцией (Python):**

```python
import random

def simulate(n_trials=100_000):
count_B_given_O = 0
count_O = 0

for _ in range(n_trials):
coin = random.choice(['A', 'B']) # выбираем монету
if coin == 'A':
result = random.choice(['H', 'T']) # честная монета
else:
result = 'H' # нечестная монета (всегда орёл)

if result == 'H':
count_O += 1
if coin == 'B':
count_B_given_O += 1

prob = count_B_given_O / count_O
print(f"Симуляция: вероятность P(B | O) ≈ {prob:.4f}")

simulate()
```

Примерный вывод:

```
Симуляция: вероятность P(B | O) ≈ 0.6665
```

💥 **Подвох:**

Многие интуитивно думают, что вероятность остаётся 50%, но факт выпадения орла изменяет наше знание о ситуации — это типичная ошибка игнорирования условной вероятности.

🧠 **Что важно для Data Science:**

• Принцип обновления вероятностей лежит в основе Байесовских моделей
• Ошибки интуиции часто приводят к неправильным выводам при работе с вероятностями
• Симуляция помогает проверять теорию и укреплять понимание статистики


@machinelearning_interview
📝 ML Course Notes — коллекция конспектов по машинному обучению. Этот открытый репозиторий объединяет структурированные заметки по курсам от Стэнфорда, MIT и CMU — от основ нейросетей до трансформеров и RLHF. Здесь можно найти выжимки ключевых идей из лекций Andrew Ng, Кристофера Мэннинга и Андрея Карпати.

Репозиторий будет полезен для тех, кто хочет быстро освежить материал: каждая заметка привязана к конкретному видео и лектору. На страницу проекта можно добавить свои конспекты или улучшить существующие.

🤖 GitHub

@machinelearning_interview
Начните свой путь в ML для финансового анализа — два бесплатных вебинара

🎓 Урок 1: Технический анализ финансовых рынков: графики и индикаторы: https://otus.pw/CDS6/
Углубитесь в методы технического анализа, научитесь читать графики, распознавать тренды и использовать индикаторы для генерации торговых сигналов.

🎓 Урок 2: Построение торгового агента на базе алгоритмов обучения с подкреплением: https://otus.pw/CDS6/
Разработайте своего первого торгового агента, использующего обучение с подкреплением. Этот урок позволит вам применить современные методы искусственного интеллекта для автоматизации торговых стратегий.

➡️ Регистрируйтесь на бесплатные уроки, чтобы ознакомиться с форматом обучения и получить скидку на курс «ML для финансового анализа»: https://otus.pw/CDS6/?erid=2W5zFJBnSdE

#реклама
О рекламодателе
🦙 Мультимодальная поддержка в llama.cpp (обновление)

llama.cpp теперь поддерживает мультимодальные модели с визуальным вводом!

📦 Что нового

Проект llama.cpp теперь поддерживает *мультимодальные модели* — такие как LLaVA 1.5 / 1.6, BakLLaVA, Obsidian, MobileVLM и другие, позволяя выполнять вывод, совмещающий текст и изображения локально, без облака.

🔧 Ключевые возможности

• Поддержка моделей с вводом изображения (image + text)
• Новый CLI: llama-mtmd-cli (заменяет `llava-cli`)
• Расширена совместимость: поддержка GGUF-моделей мультимодального типа
• Локальная работа на CPU и GPU без зависимости от облачных API

🚀 Как использовать

1. Скачай модель в формате .gguf, например LLaVA:
https://huggingface.co/liuhaotian/llava-v1.5-13b-GGUF
2. Подготовь изображение (например, `photo.jpg`)
3. Запусти CLI:


./build/bin/llama-mtmd-cli \
-m models/llava-v1.5-13b.gguf \
--image ./photo.jpg \
-p "Что изображено на фото?"


GitHub
2025/05/12 17:50:12
Back to Top
HTML Embed Code: